// To parse this JSON data, do
//
//     final policy = policyFromJson(jsonString);

import 'package:freezed_annotation/freezed_annotation.dart';
import 'dart:convert';

part 'policy.freezed.dart';
part 'policy.g.dart';

Policy policyFromJson(String str) => Policy.fromJson(json.decode(str));

String policyToJson(Policy data) => json.encode(data.toJson());

@freezed
class Policy with _$Policy {
  const factory Policy({
    @JsonKey(name: "id") String? id,
    @JsonKey(name: "completionTime") int? completionTime,
    @JsonKey(name: "implemention") String? implemention,
    @JsonKey(name: "isApply") int? isApply,
    @JsonKey(name: "name") String? name,
    @JsonKey(name: "suitLevel") String? suitLevel,
    @JsonKey(name: "suitLevelName") String? suitLevelName,
    @JsonKey(name: "createUserDept") double? createUserDept,
    @JsonKey(name: "createUserDeptName") String? createUserDeptName,
    @JsonKey(name: "acceptCondition") String? acceptCondition,
    @JsonKey(name: "declareEnd") String? declareEnd,
    @JsonKey(name: "declareStart") DateTime? declareStart,
    @JsonKey(name: "enterpriseScale") String? enterpriseScale,
    @JsonKey(name: "enterpriseSpecial") String? enterpriseSpecial,
    @JsonKey(name: "industryType") String? industryType,
    @JsonKey(name: "enterpriseNature") String? enterpriseNature,
    @JsonKey(name: "enterpriseTalent") String? enterpriseTalent,
    @JsonKey(name: "enterpriseQualification") String? enterpriseQualification,
    @JsonKey(name: "qualificationLevel") String? qualificationLevel,
    @JsonKey(name: "creditRating") String? creditRating,
    @JsonKey(name: "listingAddress") String? listingAddress,
    @JsonKey(name: "technicalCapability") String? technicalCapability,
    @JsonKey(name: "projectType") String? projectType,
    @JsonKey(name: "subsidyStandards") String? subsidyStandards,
    @JsonKey(name: "subsidyCostMax") int? subsidyCostMax,
    @JsonKey(name: "subsidyCostMin") int? subsidyCostMin,
    @JsonKey(name: "telephone") String? telephone,
    @JsonKey(name: "sourceBatch") String? sourceBatch,
    @JsonKey(name: "sourceEntry") String? sourceEntry,
    @JsonKey(name: "matterType") int? matterType,
    @JsonKey(name: "declareType") int? declareType,
    @JsonKey(name: "status") int? status,
    @JsonKey(name: "policys") String? policys,
    @JsonKey(name: "updateUserDept") double? updateUserDept,
    @JsonKey(name: "updateUserDeptName") String? updateUserDeptName,
    @JsonKey(name: "lcItemId") String? lcItemId,
    @JsonKey(name: "enterpriseNatureList") List<dynamic>? enterpriseNatureList,
    @JsonKey(name: "enterpriseScaleList") List<dynamic>? enterpriseScaleList,
    @JsonKey(name: "enterpriseSpecialList")
    List<dynamic>? enterpriseSpecialList,
    @JsonKey(name: "industryTypeList") List<dynamic>? industryTypeList,
    @JsonKey(name: "matMatterPolicyList") List<dynamic>? matMatterPolicyList,
    @JsonKey(name: "matterMaterialList") List<dynamic>? matterMaterialList,
    @JsonKey(name: "matterProcessList") List<dynamic>? matterProcessList,
  }) = _Policy;

  factory Policy.fromJson(Map<String, dynamic> json) => _$PolicyFromJson(json);
}
